Decoding and decryption of partially encrypted information

ABSTRACT

An encryption arrangement for multiple encryption of television programs. A system according to embodiments of the present invention multiple encrypts only a portion of the data required for full presentation of a television program to permit coexistence of multiple conditional access encryption systems associated with multiple manufacturer&#39;s set-top boxes within a single system. By only encrypting a portion of the program, dramatically less bandwidth is consumed than the alternative of multiple encryption of all program data, thus permitting a larger number of programs to be carried over the same bandwidth while permitting coexistence of multiple conditional access systems in a single cable television system.

This application is related to and claims priority benefit of U.S.provisional patent application Ser. No. 60/296,673 filed Jun. 6, 2001 toCandelore, et al. entitled “Method for Allowing Multiple CA Providers toInteroperate in a Content Delivery System by Sending Video in the Clearfor Some Content, and Dual Carriage of Audio and Dual Carriage of Videoand Audio for Other Content”, and provisional patent application Ser.No. 60/304,241 filed Jul. 10, 2001 to Unger et al., entitled“Independent Selective Encryptions of Program Content for DualCarriage”, and provisional patent application Ser. No. 60/304,131 filedJul. 10, 2001 to Candelore et al., entitled “Method for AllowingMultiple CA Providers to Interoperate in a Content Delivery System byPartial Scrambling Content on a Time Slice Basis” and to U.S.provisional patent application Ser. No. 60/343,710, filed on Oct. 26,2001 to Candelore et al., entitled “Television Encryption Systems”,which are hereby incorporated herein by reference.

This application is being filed simultaneously with patent applicationsentitled “Critical Packet Partial Encryption” to Unger et al., Ser. No.10/038,217; entitled “Time Division Partial Encryption” to Candelore etal., Ser. No. 10/038,032; entitled “Elementary Stream PartialEncryption” to Candelore, Ser. No. 10/037,914; and entitled “PartialEncryption and PID Mapping” to Unger et al., Ser. No. 10/037499. Thesesimultaneously filed patent applications are hereby incorporated byreference herein.

COPYRIGHT NOTICE

A portion of the disclosure of this patent document contains materialwhich is subject to copyright protection. The copyright owner has noobjection to the facsimile reproduction of the patent document or thepatent disclosure, as it appears in the Patent and Trademark Officepatent file or records, but otherwise reserves all copyright rightswhatsoever.

FIELD OF THE INVENTION

This invention relates generally to the field of encryption systems.More particularly, this invention relates to systems, methods andapparatus for providing partial encryption and decryption of digital oftelevision signals.

BACKGROUND OF THE INVENTION

Television is used to deliver entertainment and education to viewers.The source material (audio, video, etc.) is multiplexed into a combinedsignal which is then used to modulate a carrier. This carrier iscommonly known as a channel. (A typical channel can carry one analogprogram, one or two high definition (HD) digital program(s), or several(e.g. nine) standard definition digital programs.) In a terrestrialsystem, these channels correspond to government assigned frequencies andare distributed over the air. The program is delivered to a receiverthat has a tuner that pulls the signal from the air and delivers it to ademodulator, which in turn provides video to a display and audio tospeakers. In a cable system the modulated channels are carried over acable. There may also be an in-band or out-of-band feed of a programguide indicating what programs are available and the associated tuninginformation. The number of cable channels is finite and limited byequipment/cable bandwidth. Cable distribution systems require asignificant capital investment and are expensive to upgrade.

Much of television content is valuable to its producers, thereforecopyright holders want to control access and restrict copies. Examplesof typically protected material include feature films, sporting events,and adult programming. Conditional access (CA) systems are used tocontrol availability of programming in content delivery systems such ascable systems. CA systems come as matched sets—one part is integratedinto the cable system headend and encrypts premium content, the otherpart provides decryption and is built into the set-top boxes (STB)installed in user's homes. Several CA systems are used in the cableindustry including those provided by NDS (Newport Beach, Calif.),Motorola (Schaumberg, Ill.) and Scientific Atlanta (Atlanta, Ga.). Thismatched set aspect of CA systems has the effect that the “legacy” vendoris locked in as the supplier of additional STBs. Since the varioustechnologies for conditional access are not mutually compatible (and areoften proprietary), any new potential supplier is forced to license thelegacy CA. Thus, the cable operator finds itself unable to acquire newertechnology or competing technology from other set-top box manufacturerssince the technology owners are often unwilling to cooperate, or chargereasonable license fees. This inflexibility can be especiallytroublesome when cable companies with disparate CA systems are merged.Service providers would like more than one source for STBs for anynumber of reasons.

Once a cable operator picks an encryption scheme, it is difficult tochange or upgrade the content encryption scheme without introducing abackward compatible decoding device (e.g. set-top box). Providingmultiple mode capability in new set-top boxes to handle multipleencryption systems can add substantial cost to any new set-top box,providing that the technology can be made available to the STB vendor toprovide the multiple decryption capability.

The only known current option to avoiding domination by the legacyvendor (short of wholesale replacement) is using “full dual carriage”.Full dual carriage means that transmission is duplicated for eachencrypted program—once for each type of CA encryption to be used. Toprovide full dual carriage, the headend is enhanced to provide each formof CA simultaneously. Legacy STBs should not be impacted and shouldcontinue to perform their function despite any change. However, fulldual carriage often comes at an unpalatable price because of thebandwidth impact, thus reducing the number of unique programs available.Generally, the number of premium channels suffers so that the number ofoptions available to the viewer are limited and the value that can beprovided by the cable operator is restricted.

A conventional cable system arrangement is depicted in FIG. 1. In such asystem, the cable operator processes audio/video (A/V) content 14 withCA technology from manufacturer A (system A) using CA encryptionequipment 18 compliant with system A at the cable system—headend 22. Theencrypted A/V content along with system information (SI) 26 and programspecific information (PSI) 27 is multiplexed together and transmittedover the cable system 32 to a user's STB 36. STB 36 incorporatesdecrypting CA equipment from system A (manufacturer A) 40 that decryptsthe A/V content. The decrypted A/V content can then be supplied to atelevision set 44 for viewing by the user.

In a cable system such as that of FIG. 1, digital program streams arebroken into packets for transmission. Packets for each component of aprogram (video, audio, auxiliary data, etc.) are tagged with a packetidentifier or PID. These packet streams for each component of allprograms carried within a channel are aggregated into one compositestream. Additional packets are also included to provide decryption keysand other overhead information. Otherwise unused bandwidth is filledwith null packets. Bandwidth budgets are usually adjusted to utilizeabout 95% of the available channel bandwidth.

Overhead information usually includes guide data describing whatprograms are available and how to locate the associated channels andcomponents. This guide data is also known as system information or SI.SI may be delivered to the STB in-band (part of the data encoded withina channel) or out-of-band (using a special channel dedicated to thepurpose). Electronically delivered SI may be partially duplicated inmore traditional forms—grids published in newspapers and magazines.

In order for a viewer to have a satisfying television experience, it isgenerally desirable that the viewer have clear access to both audio andvideo content. Some analog cable systems have used various filteringtechniques to obscure the video to prevent an unauthorized viewer fromreceiving programming that has not been paid for. In such a system, theanalog audio is sometimes sent in the clear. In the Motorola VideoCipher2 Plus system used in C-band satellite transmissions, strong digitalaudio encryption is used in conjunction with a relatively weakprotection of the analog video (using sync inversion). In airlinein-flight movie systems, the availability of audio only through rentalof headphones has been used to provide the full audio and video only topaying customers.

BRIEF DESCRIPTION OF THE DRAWINGS

The features of the invention believed to be novel are set forth withparticularity in the appended claims. The invention itself however, bothas to organization and method of operation, together with objects andadvantages thereof, may be best understood by reference to the followingdetailed description of the invention, which describes certain exemplaryembodiments of the invention, taken in conjunction with the accompanyingdrawings in which:

FIG. 1 is a block diagram of a conventional conditional access cablesystem.

FIG. 2 is a block diagram of a system consistent with one embodiment ofthe present invention in which dual encrypted audio is transmitted alongwith clear video.

FIG. 3 is a block diagram of a system consistent with an embodiment ofthe present invention in which portions of programming are dualencrypted according to a time slice mechanism.

FIG. 4 is a flow chart of a dual encryption process consistent withcertain embodiments of the present invention.

FIG. 5 is a flow chart of a decryption process consistent with certainembodiments of the present invention.

FIG. 6 is a block diagram of a system consistent with an embodiment ofthe present invention in which portions of programming are dualencrypted on a packet basis.

FIG. 7 is a flow chart of a dual encryption process consistent withcertain embodiments of the present invention.

FIG. 8 is a flow chart of a decryption process consistent with certainembodiments of the present invention.

FIG. 9 is a block diagram of a system consistent with an embodiment ofthe present invention in which system information is encrypted andprogramming is sent in the clear.

FIG. 10 is a block diagram of a generic system consistent with variousembodiments of the present invention.

FIG. 11 is a block diagram of a first embodiment of implementation of anencryption system consistent with embodiments of the present inventionin a cable system headend.

FIG. 12 is a block diagram of a second embodiment of implementation ofan encryption system consistent with embodiments of the presentinvention in a cable system headend.

FIG. 13 is a flow chart of an overall encryption process used toimplement certain embodiments of the present invention in a cable systemheadend.

FIG. 14 is a block diagram of a first embodiment of a set-top boximplementation of a decoding system consistent with embodiments of thepresent invention.

FIG. 15 is a block diagram of a second embodiment of implementation of adecoding system consistent with embodiments of the present invention ina cable system STB.

FIG. 16 is a block diagram of a third embodiment of implementation of adecoding system consistent with embodiments of the present invention ina cable system STB.

FIG. 17 illustrates the PID remapping process carried out in oneembodiment of a set-top box PID re-mapper.

FIG. 18 is a block diagram of an exemplary decoder chip that can beutilized in a television set-top box consistent with the presentinvention.

DETAILED DESCRIPTION OF THE INVENTION

While this invention is susceptible of embodiment in many differentforms, there is shown in the drawings and will herein be described indetail specific embodiments, with the understanding that the presentdisclosure is to be considered as an example of the principles of theinvention and not intended to limit the invention to the specificembodiments shown and described. In the description below, likereference numerals are used to describe the same, similar orcorresponding parts in the several views of the drawings. The terms“scramble” and “encrypt” and variations thereof are used synonymouslyherein. Also, the term “television program” and similar terms can beinterpreted in the normal conversational sense, as well as a meaningwherein the term means any segment of A/V content that can be displayedon a television set or similar monitor device.

Overview

Modern digital cable networks generally use CA systems that fullyencrypt digital audio and video to make programming inaccessible exceptto those who have properly subscribed. Such encryption is designed tothwart hackers and non-subscribers from receiving programming that hasnot been paid for. However, as cable operators wish to provide theirsubscribers with set-top boxes from any of several manufacturers, theyare frustrated by the need to transmit multiple copies of a singleprogram encrypted with multiple encryption technologies compliant withthe CA systems of each STB manufacturer.

This need to carry multiple copies of the programming (called “full dualcarriage”) uses up valuable bandwidth that could be used to provide theviewer with additional programming content. Certain embodiments of thepresent invention address this problem in which the bandwidthrequirements to provide an equivalent to multiple carriage areminimized. The result could be described as “Virtual Dual Carriage”since the benefits of full dual carriage are provided without the fullbandwidth cost. Several embodiments of the present invention arepresented herein to accomplish effective partial scrambling. Theseembodiments vary by the criteria used to select the portion to encrypt.The portion selected in turn affects the additional bandwidthrequirements and the effectiveness of the encryption. It may bedesirable to use one encryption process or several processes incombination in a manner consistent with embodiments of the presentinvention.

Certain of the implementations of partial dual encryption describedherein utilize an additional (secondary) PID for each duplicatedcomponent. These secondary PIDs are used to tag packets that carryduplicated content with an additional encryption method. The PSI isenhanced to convey information about the existence of these new PIDs insuch a way that inserted PIDs are ignored by legacy STBs but can beeasily extracted by new STBs.

Some implementations of partial dual encryption involve duplicating onlycertain packets tagged with a given PID. Methods for selecting whichpackets to encrypt are detailed hereinafter. The original (i.e. legacy)PID continues to tag the packets encrypted with legacy encryption aswell as other packets sent in the clear. The new PID is used to tagpackets encrypted by the second encryption method. Packets with thesecondary PID shadow the encrypted packets tagged with the primary PID.The packets making up the encrypted pairs can occur in either order but,in the preferred implementation, maintain sequence with the clearportion of the PID stream. By use of the primary and secondary PIDs, thedecoder located in the set-top box can readily determine which packetsare to be decrypted using the decryption method associated with thatset-top box, as will be clear upon consideration of the followingdescription. The processes used to manipulate PIDs will be describedlater in greater detail.

The encryption techniques described herein can be broadly categorized(according to one categorization) into three basic variations—encryptingjust a major portion (i.e. audio), encrypting just the Si, andencrypting just selected packets. In general, each of the encryptiontechniques used in the embodiments disclosed herein seek to encryptportions of the an A/V signal or associated information while leavingother portions of the A/V signal in the clear to conserve bandwidth.Bandwidth can be conserved because the same clear portion can be sent toall varieties of set-top boxes. Various methods are used to select theportions of information to be encrypted. By so doing, the variousembodiments of this invention eliminate the traditional “brute-force”technique of encrypting the entire content in one specific scramblingscheme, which predicates the redundant use of bandwidth if alternatescrambling schemes are desired. In addition, each of the partial dualencryption schemes described herein can be used as a single partialencryption scheme without departing from embodiments of the presentinvention.

The various embodiments of the invention use several processes, alone orin combination, to send substantial portions of content in the clearwhile encrypting only a small amount of information required tocorrectly reproduce the content. Therefore the amount of informationtransmitted that is uniquely encrypted in a particular scrambling schemeis a small percentage of the content, as opposed to the entirereplication of each desired program stream. For purposes of theexemplary systems in this document, encryption system A will beconsidered the legacy system throughout. Each of the several encryptiontechniques described above will now be described in detail.

The various embodiments of the invention allow each participating CAsystem to be operated independently. Each is orthogonal to the other.Key sharing in the headend is not required since each system encryptsits own packets. Different key epochs may be used by each CA system. Forexample, packets encrypted with Motorola's proprietary encryption canuse fast changing encryption keys using the embedded security ASIC,while packets encrypted with NDS' smart card based system use slightlyslower changing keys. This embodiment works equally well for ScientificAtlanta and Motorola legacy encryption.

Encrypted Elementary Stream

Turning now to FIG. 2, one embodiment of a system that reduces the needfor additional bandwidth to provide multiple carriage is illustrated assystem 100. In this embodiment, the system takes advantage of the factthat viewing television programming without audio is usuallyundesirable. While there are exceptions (e.g., adult programming, somesporting events, etc.), the typical viewer is unlikely to accept routineviewing of television programming without being able to hear the audio.Thus, at headend 122, the video signal 104 is provided in the clear(unencrypted) while the clear audio 106 is provided to multiple CAsystems for broadcast over the cable network. In the exemplary system100, clear audio 106 is provided to an encryption system 118 thatencrypts audio data using encryption system A (encryption system A willbe considered the legacy system throughout this document).Simultaneously, clear audio 106 is provided to encryption system 124that encrypts the audio data using encryption system B. Clear video isthen multiplexed along with encrypted audio from 118 (Audio A) andencrypted audio from 124 (Audio B), system information 128 and programspecific information 129.

After distribution through the cable system 32, the video, systeminformation, program specific information, Audio A and Audio B are alldelivered to set-top boxes 36 and 136. At legacy STB 36, the video isdisplayed and the encrypted audio is decrypted at CA system A 40 forplay on television set 44. Similarly, at new STB 136, the video isdisplayed and the encrypted audio is decrypted at CA system B 140 forplay on television set 144.

Audio has a relatively low bandwidth requirement compared with acomplete A/V program (or even just the video portion). The currentmaximum bit rate for stereophonic audio at 384 Kb/second isapproximately 10% of a 3.8 Mb/second television program. Thus, for dualcarriage of only encrypted audio (with video transmitted in the clear)in a system with ten channels carried with 256 QAM (quadrature amplitudemodulation), a loss of only about one channel worth of bandwidth wouldoccur. Therefore, approximately nine channels could be carried. This isa dramatic improvement over the need to dual encrypt all channels, whichwould result in a decrease in available channels from ten to five. Wheredeemed necessary, e.g., sporting events, pay per view, adultprogramming, etc., dual encryption of both audio and video can still becarried out, if desired.

Both legacy and new set-top boxes can function in a normal mannerreceiving video in the clear and decrypting the audio in the same mannerused for fully decrypting encrypted A/V content. If the user has notsubscribed to the programming encrypted according to the above scheme,at best the user can only view the video without an ability to hear theaudio. For enhanced security over the video, it is possible to employother embodiments of the invention (as will be described later) here aswell. (For example, the SI may be scrambled to make it more difficultfor a non-authorized set-top box to tune to the video portion of theprogram.) Unauthorized set-top boxes that have not been modified by ahacker, will blank the video as a result of receipt of the encryptedaudio.

Authorized set-top boxes receive Entitlement Control Messages (ECM) thatare used to get access criteria and descrambling keys. The set-top boxattempts to apply the keys to video as well as the audio. Since thevideo is not scrambled, it simply passes through the set-top boxes'descrambler unaffected. The set-top boxes do not care that the video isin-the-clear. The un-modified and un-subscribed set-top boxes behave asbeing un-authorized for the scrambled audio as well as the clear video.The video, as well as the audio which was actually scrambled, will beblanked. An on-screen display may appear on the TV stating that theviewer needs to subscribe to programming. This desirably totallyinhibits the casual viewer from both hearing and viewing the content.

In one embodiment of the present invention, the encrypted audio istransmitted as digitized packets over the A/V channel. Two (or more)audio streams are transmitted encrypted according to the two (or more)encryption systems in use by the system's set-top boxes. In order forthe two (or more) STBs to properly decrypt and decode their respectiveaudio streams, SI (system information) data are transmitted from thecable system's headend 122 that identifies the particular channel wherethe audio can be found using a transmitted Service Identifier to locatethe audio. This is accomplished by assigning the audio for system A afirst packet identifier (PID) and assigning the audio for system B asecond packet identifier (PID). By way of example, and not limitation,the following program specific information (PSI) can be sent to identifythe location of the audio for two systems, one using NDS conditionalaccess and one using Motorola conditional access. Those skilled in theart will understand how to adapt this information to the otherembodiments of partial encryption described later herein.

The SI can be separately delivered to both legacy and non-legacy set-topboxes. It is possible to send SI information so that the legacy andnon-legacy set-top boxes operate essentially without interference. Inthe SI delivered to legacy set-top boxes, the VCT (virtual channeltable) would state that the desired program, e.g. HBO referenced asprogram number 1, is on Service ID “1” and that the VCT access controlbit is set. The network information table (NIT) delivered to that firstSTB would indicate that Service ID “1” is at frequency=1234. In the SIdelivered to non-legacy set-top boxes, the VCT would state that thedesired program, e.g. HBO referenced as program number 1001, is onService ID “1001” and that the VCT access control bit is set. Thenetwork information table delivered to the non-legacy STB would indicatethat the Service ID “1001” is at frequency 1234. The following exemplaryprogram association Table PSI data are sent to both legacy andnon-legacy set-top boxes (in MPEG data structure format):

PAT sent on PID=0x0000 PAT 0x0000 Transport Stream ID PAT versionProgram Number 1 PMT 0x0010 Program Number 2 PMT 0x0020 Program Number 3PMT 0x0030 Program Number 4 PMT 0x0040 Program Number 5 PMT 0x0050Program Number 6 PMT 0x0060 Program Number 7 PMT 0x0070 Program Number 8PMT 0x0080 Program Number 9 PMT 0x0090 Program Number 1001 PMT 0x1010Program Number 1002 PMT 0x1020 Program Number 1003 PMT 0x1030 ProgramNumber 1004 PMT 0x1040 Program Number 1005 PMT 0x1050 Program Number1006 PMT 0x1060 Program Number 1007 PMT 0x1070 Program Number 1008 PMT0x1080 Program Number 1009 PMT 0x1090

The following exemplary program map table PSI data are selectivelyreceived by legacy and non-legacy set-top boxes (in MPEG data structureformat):

PMT sent on PID=0x0010 PMT 0x0010 PMT Program number 1 PMT SectionVersion 10 PCR PID 0x0011 Elementary Stream Stream Type (Video 0x02 or0x80) Elementary PID (0x0011) Descriptor CA Descriptor (ECM) for CAprovider #1 Elementary Stream Stream Type (Audio 0x81) Elementary PID(0x0012) Descriptor CA Descriptor (ECM) for CA provider #1 PMT sent onPID=0x1010 PMT 0x1010 PMT Program number 1010 PMT Section Version 10 PCRPID 0x0011 Elementary Stream Stream Type (Video 0x02 or 0x80) ElementaryPID (0x0011) Descriptor CA Descriptor (ECM) for CA provider #2Elementary Stream Stream Type (Audio 0x81) Elementary PID (0x0013)Descriptor CA Descriptor (ECM) for CA provider #2

Considering an example wherein it is desired to deliver programming in asystem using either Motorola or Scientific Atlanta as well as NDS CA,the above communications are consistent with the PSI delivered by bothMotorola and Scientific Atlanta in their CA systems, with only minorchanges. The program association table (PAT) is changed to reference anadditional program map table (PMT) for each program. Each program inthis embodiment has two program numbers in the PAT. In the table above,program number 1 and program number 1001 are the same program exceptthat they will reference different audio PIDs and CA descriptors.Changes in the system to create multiple PMTs and to multiplex new PATand PMT information with the data stream can be made to appropriatelymodify the cable system headend equipment. Again, those skilled in theart will understand how to adapt these messages to other partialencryption schemes described herein. An advantage of this approach isthat no special hardware or software is required for headend or forlegacy and non-legacy set-top boxes to deliver audio that is both legacyand non-legacy encrypted using this scheme.

This technique deters the user from use of premium programming which hasnot been paid for by rendering it inaudible, but a hacker may attempt totune the video. To combat this, the mechanisms employed in otherencryption techniques consistent with the present invention (as will bedescribed later) can be employed simultaneously, if desired. Sinceclosed captioning is generally transmitted as a part of the video data,the user can still obtain readable audio information in conjunction withclear video. Thus, although adequate for some applications, the presenttechnique alone may not provide adequate protection in all scenarios. Inanother embodiment, video packets containing closed captioninginformation as a part of the payload can additionally be scrambled.

In an alternative embodiment, only the video may be dual encrypted withseparate PIDs assigned to each set of encrypted video. While this mayprovide a more secure encryption for general programming (since videomay be more important than audio), the amount of bandwidth savingscompared with full dual carriage is only approximately ten percent,since only the audio is shared amongst all the set-top boxes. However,this approach might be used for certain content, e.g. adult and sports,and help reduce the bandwidth overhead for that content while the audioencryption approach may be used for other content types. In the DigitalSatellite Service (DSS) transport standard used for the DirecTV™service, the audio packets can be identified for encryption by use ofthe service channel identifier (SCID) which is considered equivalent.

Time Slicing

Another embodiment consistent with the present invention is referred toherein as time slicing and is illustrated in FIG. 3 as system 200. Inthis embodiment, a portion of each program is encrypted on a timedependent basis in a manner that disrupts viewing of the program unlessthe user has paid for the programming. This embodiment of the inventioncan be implemented as partially encrypted video and clear audio, clearvideo and partially encrypted audio or partially encrypted video andaudio. The duration of the time slice that is encrypted, taken as apercentage of the total time, can be selected to meet any suitabledesired balance of bandwidth usage and security against hackers. Ingeneral, under any of the embodiments described herein, less than 100percent of the content is encrypted to produce a desired partialencryption. The following example details partially encrypted video andaudio.

A By way of example, and not limitation, consider a system which hasnine programs that are to be dual partially encrypted according to thepresent exemplary embodiment. These nine channels are fed to the cableheadend as a multiplexed stream of packets and are digitally encodedusing packet identifiers (PID) to identify packets associated with aparticular one of the nine programs. In this example, assume that thosenine programs have video PIDs numbered 101–109 and audio PIDs numbered201–209. The partial encryption, according to this embodiment is timemultiplexed among the programs so that only packets from a singleprogram are encrypted at any given time. The method does not need to becontent aware.

With reference to TABLE 1 below, an exemplary embodiment of a time slicedual encryption scheme consistent with an embodiment of the invention isillustrated. For program 1 having primary video PID 101 and primaryaudio PID 201, during the first time period, packets having PID 101 andPID201 are encrypted using encryption system A, while the othersrepresenting the other programs are sent in the clear. In thisembodiment, secondary PIDs are also assigned to both the video and theaudio. The secondary PIDs are PID 111 for video and PID 211 for audiorespectively for program 1. The packets with the secondary PIDs areencrypted using encryption system B during the first time period. Thenext eight time periods are sent in the clear. Then for time period 10,packets having any of the above four PIDs are again encrypted followedby the next eight time periods being sent in the clear. In a similarmanner, during the second period of program 2 having primary video PID102 and primary audio PID 202 are encrypted using encryption system Aand packets with their associated secondary PIDs are encrypted usingencryption system B, and during the next eight time periods are sent inthe clear, and so on. This pattern can be seen clearly in TABLE 1 byexamination of the first nine rows. Both audio and video packets, oraudio alone or video atone can be encrypted according to this technique,without departing from the invention. Also, the audio and video can havetheir own individual encryption sequence. In TABLE 1, P1 indicates timeperiod number 1, P2 indicated time period number 2 and so on. EAindicates that the information is encrypted using CA system A and EBindicates that the information is encrypted using CA encryption systemB.

TABLE 1 PROG. VIDEO PID AUDIO PID P1 P2 P3 P4 P5 P6 P7 P8 P9 P10 P11 P12... 1 PID 101 PID 201 EA clear clear clear clear clear clear clear clearEA clear clear ... 2 PID 102 PID 202 clear EA clear clear clear clearclear clear clear clear EA clear ... 3 PID 103 PID 203 clear clear EAclear clear clear clear clear clear clear clear EA ... 4 PID 104 PID 204clear clear clear EA clear clear clear clear clear clear clear clear ...5 PID 105 PID 205 clear clear clear clear EA clear clear clear clearclear clear clear ... 6 PID 106 PID 206 clear clear clear clear clear EAclear clear clear clear clear clear ... 7 PID 107 PID 207 clear clearclear clear clear clear EA clear clear clear clear clear ... 8 PID 108PID 208 clear clear clear clear clear clear clear EA clear clear clearclear ... 9 PID 109 PID 209 clear clear clear clear clear clear clearclear EA clear clear clear ... 1 PID 111 PID 211 EB EB ... 2 PID 112 PID212 EB EB ... 3 PID 113 PID 213 EB EB ... 4 PID 114 PID 214 EB . 5 PID115 PID 215 EB . . 6 PID 116 PID 216 EB ... 7 PID 117 PID 217 EB ... 8PID 118 PID 218 EB ... 9 PID 119 PID 219 EB .

In order to retain compatibility with an established legacy encryptionsystem (encryption system A), the encrypted periods for each of programsone through nine are encrypted using encryption system A. Legacy STBequipment will accept such partially encrypted A/V data streams passingunencrypted packets and decrypting encrypted packets transparently.However, it is desired to obtain dual encryption using both encryptionsystem A and encryption system B. In order to achieve this, a specifiedprogram is assigned both primary PIDs (e.g., for program 1, video PID101 and audio PID 201) and a secondary PID (e.g., for program 1, videoPID 111 and audio PID 211) to carry the elementary data streams for agiven premium channel.

With reference to FIG. 3, system 200 generally depicts the functionallyof the cable system headend 222 wherein N channels of clear video 208 atthe headend 222 are provided to an intelligent switch 26 (operatingunder control of a programmed processor) which routes packets that areto be transmitted in the clear to be assigned a primary PID at 220.Packets that are to be encrypted are routed to both conditional accesssystem A encrypter 218 and to conditional access system B encrypter 224.Once encrypted, these encrypted packets from 218 and 224 are assignedprimary or secondary PIDs respectively at 220. System informatin from228 and PSI from 229 are multiplexed or combined with the clear packets,the system A encrypted packets and the system B encrypted packets andbroadcast over the cable system 32.

For discussion purposes, if the period of the time slice is 100milli-seconds, then as shown in TABLE 1, there are on average one and afraction encrypted periods totaling 111 milli-seconds each second forall nine-programs. If the period is 50 milli-seconds, then there are onaverage two and a fraction encrypted periods totaling 111 milli-seconds.A non-subscribing box attempting to tune video would obtain a very poorimage if it could maintain any sort of image lock and the audio would begarbled.

The PSI for a partially scrambled stream is handled slightly differentlyfrom the dual audio encryption example above. Essentially, the same SIand PAT PSI information can be sent to both legacy and non-legacyset-top boxes. The difference lies with the PMT PSI information. Thelegacy set-top box parses the PMT PSI and obtains the primary video andaudio PIDs as before. The non-legacy set-top box obtains the primaryPIDs like the legacy set-top box but must look at the CA descriptors inthe PMT PSI to see if the stream is partially scrambled. The secondaryPID is scrambled specifically for a particular CA provider, consequentlyit makes sense to use the CA descriptor specific to a particular CAprovider to signal that PID. The invention can allow more than two CAproviders to co-exist by allowing more than one secondary PID. Thesecondary PID shall be unique to a particular CA provider. The set-topbox knows the CA ID for the CA it has, and can check all CA descriptorsfor the relevant one for it.

While it is possible to send the secondary PID data as private data inthe same CA descriptor used for the ECM, the preferred embodiment usesseparate CA descriptors. The secondary PID is placed in the CA PIDfield. This allows headend processing equipment to “see” the PID withouthaving to parse the private data field of the CA descriptor. To tell thedifference between the ECM and secondary PID CA descriptor, a dummyprivate data value can be sent.

PMT sent on PID=0x0010 PMT 0x0010 PMT Program number 1 PMT SectionVersion 10 PCR PID 0x0011 Elementary Stream Stream Type (Video 0x02 or0x80) Elementary PID (0x0011) Descriptor CA Descriptor (ECM) for CAprovider #1 CA Descriptor (ECM) for CA provider #2 CA Descriptor(Secondary PID) for CA provider #2 Elementary Stream Stream Type (Audio0x81) Elementary PID (0x0012) Descriptor CA Descriptor (ECM) for CAprovider #1 CA Descriptor (ECM) for CA provider #2 CA Descriptor(Secondary PID) for CA provider #2 CA Descriptor for CA Provider #2(ECM) Descriptor Tag: Conditional Access (0x09) Length: 4 Bytes Data CASystem ID: 0x0942 (2^(nd) CA provider) CA PID (0x0015) CA Descriptor forCA Provider #2 (Secondary PID) Descriptor Tag: Conditional Access (0x09)Length: 5 Bytes Data CA System ID: 0x1234 (2^(nd) CA provider) CA PID(0x0016) Private Data

Legacy STB 36 operating under CA system A receives the data, ignores thesecondary PIDs, decrypts the packets encrypted under CA system A andpresents the program to the television set 44. New or non-legacy STB 236receives the SI 228. It receives PSI 229 and uses the PMT to identifythe primary and secondary PID, called out in the second CA descriptor,associated with the program being viewed. The packets encrypted under CAsystem A are discarded and the packets encrypted under CA system B withthe secondary PID are decrypted by CA system B 240 and inserted into theclear data stream for decoding and display on television set 244.

FIG. 4 illustrates one process for encoding at the cable system headendthat can be used to implement an embodiment of the present inventionwherein CA system A is the legacy system and CA system B is the newsystem to be introduced. As a clear packet is received, at 250 for agiven program, if the packet (or frame) is not to be encrypted (i.e., itis not the current time slice for encryption for this program), theclear packet (C) is passed on to be inserted into the output stream at254. If the current packet is to be encrypted by virtue of the currentpacket being a part of the encryption time slice, the packet is passedfor encryption to both packet encryption process A 258 and packetencryption process B 262. The encrypted packets from encryption processA at 258 (EA) are passed on to 254 for insertion into the output stream.The encrypted packets from encryption process B at 262 (EB) are assigneda secondary PID at 264 for insertion into the output stream at 254. Thisis repeated for all packets in the program.

FIG. 5 illustrates a process used in the STB 236 having the newlyintroduced CA system B for decrypting and decoding the received datastream containing C, EA and EB packets having primary and secondary PIDsas described. When a packet is received at 272, it is inspected to seeif it has the primary PID of interest, If not, the packet is examined tosee if it has the secondary PID of interest at 274. If the packet hasneither the primary or secondary PID, it is ignored or dropped at 278.Any intervening packets between the EA and EB packets that are not theprimary or secondary PID are discarded. It is an implementation andmainly a buffing issue whether a decoder can receive multiple EA or EBin a row before receiving the replacement matched EA or EB packet. Also,it is just as easy to detect for secondary packets that come before andnot after the primary packet. It is also possible to design a circuitwhere either case can happen—the secondary packet can be either beforeor after the primary packet. If the packet has the primary PID ofinterest, the packet is examined at 284 to determine if it is encrypted.If not, the packet (C) is passed directly to the decoder at 288 fordecoding. If the packet is encrypted at 284, it is deemed to be an EApacket and is dropped or ignored at 278. In some implementations, theprimary packet's encryption does not get checked at 284. Rather, itssimple position relative to the secondary packet can be checked at 284to identify it for replacement.

If the packet has the secondary PID at 274, the PID is remapped to theprimary PID at 292 (or equivalently, the primary PID is remapped to thesecondary PID value). The packet is then decrypted at 296 and sent tothe packet decoder at 288 for decoding. Of course, those skilled in theart will recognize that many variations are possible without departingfrom the invention, for example, the order of 292 and 296 or the orderof 272 and 274 can be reversed. As mentioned earlier, 284 can bereplaced with a check of primary packet position with respect to thesecondary packet. Other variations will occur to those skilled in theart.

Legacy STB 36 operating under the encryption system A totally ignoresthe secondary PID packets. Packets with the primary PID are decrypted,if necessary, and passed to the decoder without decryption if they areclear packets. Thus, a so called “legacy” STB operating under encryptionsystem A will properly decrypt and decode the partially encrypted datastream associated with the primary PID and ignore the secondary PIDwithout modification. STBs operating under the encryption system B areprogrammed to ignore all encrypted packets associated with the primaryPID and to use the encrypted packets transmitted with the secondary PIDassociated with a particular channel.

Thus, each dual partially encrypted program has two sets of PIDsassociated therewith. If, as described, the encryption is carried out ona period-by-period basis, for the system shown with an appropriate timeslice interval, the picture will be essentially unviewable on a STB witheither decryption.

In order to implement this system in the headend 322 of FIG. 6, the SIand PSI can be modified for inclusion of a second set of CA descriptorinformation. Legacy set-top boxes may not be able to tolerate unknown CAdescriptors. Consequently, alternatively, in the set-top box, it may bepossible to “hard code” offsets from the legacy CA PIDs for both thecontent PIDs and/or the SI/PSI and ECM PIDs. Alternatively, parallel PSImay be sent. For example, an auxiliary PAT can be delivered on PID 1000instead of PID 0 for the non-legacy set-top boxes. It can referenceauxiliary PMTs not found in the legacy PAT. The auxiliary PMTs cancontain the non-legacy CA descriptors. Since auxiliary PMTs would not beknown to the legacy set-top boxes, there would not be any interoperationissue.

In systems where system A corresponds to legacy set-top boxesmanufactured by Motorola or Scientific Atlanta, no modifications to theSTBs are required. For the system B compliant STBs, for dual carriage ofpartially encrypted programs as described herein, the video and audiodecoder are adapted to listen to two PIDs each (a primary and asecondary PID) instead of just one. There may be one or more secondaryshadow PIDs, depending on the number of non-legacy CA systems in use,however a specific set-top box only listens to one of the secondary PIDsas appropriate for the CA method being used by that specific STB. Inaddition, ideally the encrypted packets from the PID carrying the mostlyclear video or audio are ignored. Since ignoring “bad packets” (thosethat cannot be readily decoded as is) may already be a function thatmany decoders perform, thus requiring no modification. For systems withdecoders that do not ignore bad packets, a filtering function can beused. It should be understood that the time slice encryption techniquecould be applied to just the video or the audio. Also, the video may betime slice encrypted while the audio is dual encrypted as in the earlierembodiment. The time slice technique may be applied to multiple programsconcurrently. The number of programs that are encrypted during a periodof time is mainly an issue of bandwidth allocation, and although theexample discusses scrambling a single program at a time, the inventionis not limited by that. Other combinations of encryption techniquesdescribed in this document will also occur to those skilled in the art.

M^(TH) and N Packet Encryption

Another embodiment consistent with the present invention is referred toherein as M^(th) & N packet encryption. This is a variation of theembodiment illustrated in FIG. 3 as system 200. In this embodiment,packets of each PID representing a program are encrypted in a mannerthat disrupts viewing of the program unless the user has paid for theprogramming. In this embodiment, M represents the number of packetsbetween the start of an encryption event. N represents the number ofpackets that are encrypted in a row, once encryption takes place. N isless than M. If M=9 and N=1, then every nine packets there is anencryption event lasting 1 packet. If M=16 and N=2, then every sixteenpackets there is an encryption event lasting two packets. Each packet tobe dual partially encrypted is duplicated and processed using CA systemA 218 and CA system B 224 as in the previous embodiment. The differencein operation between this embodiment and the time slicing techniquepreviously is in the operation of switch 216 to effect the selection ofpackets to encrypt under control of a programmed processor.

By way of example, and not limitation, consider a system which has ninechannels of programming that are to be dual encrypted according to thepresent exemplary embodiment. These nine channels are digitally encodedusing packet identifiers (PID) to identify packets associated with aparticular one of nine programs. In this example, assume that those nineprograms have video PIDs numbered 101–109 and audio PIDs numbered201–209. The encryption, according to this embodiment is randomprogram-to-program so that packets from other programs may be encryptedat the same time. This is illustrated in TABLE 2 below in which M=6 andN=2 and in which only video is encrypted, but this should not beconsidered limiting. The method does not need to be content aware. InTABLE 2, PK1 indicated packet number 1, PK2 indicates packet number 2,and so on.

TABLE 2 PROG. VIDEO PK1 PK2 PK3 PK4 PK5 PK6 PK7 PK8 PK9 PK10 PK11 PK12... 1 PID 101 EA EA clear clear clear clear EA EA clear clear clearclear ... 2 PID 102 clear clear clear EA EA clear clear clear clear EAEA clear ... 3 PID 103 clear clear EA EA clear clear clear clear EA EAclear clear ... 4 PID 104 clear clear clear EA EA clear clear clearclear EA EA clear ... 5 PID 105 clear clear EA EA clear clear clearclear EA EA clear clear ... 6 PID 106 EA clear clear clear clear EA EAclear clear clear clear EA ... 7 PID 107 EA EA clear clear clear clearEA EA clear clear clear clear .. 8 PID 108 clear EA EA clear clear clearclear EA EA clear clear clear ... 9 PID 109 EA clear clear clear clearEA EA clear clear clear clear EA 1 PID 111 EB EB EB EB 2 PID 112 EB EBEB EB ... 3 PID 113 EB EB EB EB ... 4 PID 114 EB EB EB EB ... 5 PID 115EB EB EB EB .. 6 PID 116 EB EB EB EB ... 7 PID 117 EB EB EB EB ... 8 PID118 EB EB EB EB ... 9 PID 19  EB EB EB EB ..

In the example of TABLE 2, each program is encrypted fully independentlyof the others using the M=6 and N=2 encryption scheme. Again, theillustrated example encrypts only the video, but audio could also beencrypted according to this or another arrangement. If applied to justthe video, audio may be dual scrambled or time slice encrypted as inearlier embodiments. Alternatively, if applied to just the audio, thevideo may be time sliced as in the earlier embodiment.

Those skilled in the art will recognize that many variations of thetechnique can be devised consistent with the partial scrambling conceptsdisclosed herein. For example, a pattern of five clear followed by twoencrypted followed by two clear followed by one encrypted(CCCCCEECCECCCCCEECCE . . . ) is consistent with variations of thepresent partial encryption concept, as are random, pseudo-random andsemi-random values for M and N may be used for selection of packets toencrypt. Random, pseudo-random or semi-random (collectively referred toas “random” herein) selection of packets can make it difficult for ahacker to algorithmically reconstruct packets in a post processingattempt to recover recorded scrambled content. Those skilled in the artwill understand how to adapt this information to the other embodimentsof partial encryption described later herein. Some of the embodimentscan be used in combination to more effectively secure the content.

Data Structure Encryption

Another partial encryption method consistent with embodiments of thepresent invention uses a data structure as a basis for encryption. Byway of example and not limitation, one convenient data structure to usefor encryption is an MPEG video frame. This is illustrated (again withvideo only) in TABLE 3 below in which every tenth video frame isencrypted. In this embodiment, each program's ten frame encryption cycleis distinct from each other channel, but this should not be consideredlimiting. This concept can be viewed as a variation of the time slice orM^(th) and N partial encryption arrangement (or other pattern) basedupon video or audio frames (or some other data structure) with theexemplary embodiment having M=10 and N=1. Of course, other values of Mand N can be used in a similar embodiment. In TABLE 3, F1 representsframe number 1, F2 represents frame number 2 and so on.

TABLE 3 PROG. VIDEO F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 ... 1 PID 101EA clear clear clear clear clear clear clear clear clear EA clear ... 2PID 102 clear clear clear EA clear clear clear clear clear clear clearclear . 3 PID 103 clear clear EA clear clear clear clear clear clearclear clear clear ... 4 PID 104 clear clear clear clear EA clear clearclear clear clear clear clear ... 5 PID 105 clear clear clear EA clearclear clear clear clear clear clear clear ... 6 PID 106 EA clear clearclear clear clear clear clear clear clear EA clear ... 7 PID 107 clearEA clear clear clear clear clear clear clear clear clear EA ... 8 PID108 clear EA clear clear clear clear clear clear clear clear clear EA .9 PID 109 EA clear clear clear clear clear clear clear clear clear EAclear ... 1 PID 111 EB EB ... 2 PID 112 EB ... 3 PID 113 EB ... 4 PID114 EB . . 5 PID 115 EB ... 6 PID 116 EB EB . 7 PID 117 EB EB . . 8 PID118 EB EB ... 9 PID 119 EB EB ...

Thus, again each encrypted program has two sets of PIDs associatedtherewith. If, as described, the encryption is carried out on aperiod-by-period basis, for the system shown, the picture will beessentially unviewable. For a nine program system at 30 frames persecond as depicted, approximately three frames per second will beencrypted. For viewers who are not entitled to view the program, theirSTB will be unable to capture much more than an occasional frozen frameas the STB constantly attempts to synchronize and recover. Viewers whohave subscribed to the programming will be able to readily view theprogramming. The bandwidth cost for such an encryption arrangementdepends upon the frequency with which the encryption is applied. In theabove example, an extra factor of 1/9 of data are transmitted for eachprogram. In this example, approximately one program's worth of bandwidthis used. With a greater number of programs, fewer packets per programare encrypted and the security of the encryption system may degradesomewhat. As in the randomized M and N method, random frames may beselected. Choosing random frames, in the video case, would helpguarantee that all frame types would be affected—intra-coded frames (Iframes), predictive-coded (P frames), Bi-directional-coded (B frames)and DC frames.

In a variation of the invention, it may be possible to encrypt fewerpackets to achieve an acceptable level of security. That is, perhaps ina system of nine programs, only one frame per second may need to beencrypted to achieve acceptable levels of security. In such a system,the overhead becomes one encrypted period per second per program orapproximately 1/30 of data transmitted in overhead. This level ofoverhead is a dramatic improvement over the 50% loss of bandwidthassociated with full dual carriage of encryption under two encryptionsystems. In another variation of the invention, it may be possible toencrypt only certain video frames to achieve an acceptable level ofsecurity. For example, for MPEG content, only intra-coded frames (Iframes) may be scrambled to further reduce the bandwidth overhead andstill maintain an acceptable level of security. These offer significantimprovement over the bandwidth required for full dual carriage.

Critical Packet Encryption

Substantial efficiency in bandwidth utilization can be achieved by useof a selective packet-by-packet dual encryption technique. In thistechnique, packets are selected for encryption based upon theirimportance to the proper decoding of the audio and/or video of theprogram content.

This embodiment can reduce the bandwidth requirement compared with fulldual carriage of encrypted content by only scrambling a small fractionof the packets. Clear packets are shared between the two (or more) dualcarriage PIDs. In one preferred embodiment, as will be disclosed, lessthat about one percent of the total content bandwidth is used. In asystem with a legacy encryption scheme, clear program content packetscan be received by both legacy and new set-top boxes. As mentionedbefore, encrypted packets are dual carried and processed by therespective set-top boxes with the appropriate CA. Each CA system isorthogonal. Key sharing is not required and different key epochs may beused by each CA system. For example, a system with Motorola'sproprietary encryption can generate fast changing encryption keys usingthe embedded security ASIC, while an NDS smart card based system cangenerate slightly slower changing keys. This embodiment works equallywell for Scientific Atlanta and Motorola legacy encryption.

Referring flow to FIG. 6, a block diagram of a system consistent with anembodiment of the present invention in which portions of programming aredual encrypted on a packet-by-packet basis is illustrated as system 300.In this system, packets of each program are dual encrypted using, forexample, legacy CA system A and new CA system B. The packets that areencrypted are selected based upon their importance to the properdecoding of the video and/or audio stream.

In the system illustrated in FIG. 6, the cable system headend 322selects A/V content 304 packets at a packet selector 316 for encryption.Packets selected for encryption are chosen so that their non-receipt (bya non-paying decoder) would severely affect the real-time decoding of aprogram, and any possible post processing of recorded content. That is,only critical packets are encrypted. For the video and audio, this canbe accomplished by encrypting “start of frame” transport stream packetscontaining PES (packetized elementary stream) headers and other headersas part of the payload, since without this information, the STB decodercannot decompress the MPEG compressed data. MPEG2 streams identify“start of frame” packets with the “Packet Unit Start Indicator” in thetransport header. Generally, packets carrying a payload that contains agroup of pictures header or a video sequence header can be used toeffect the present scrambling technique.

MPEG (Moving Pictures Expert Group) compliant compressed videorepackages the elementary data stream into the transport stream insomewhat arbitrary payloads of 188 bytes of data. As such, the transportstream packets containing a PES header can be selected for encryption atselector 316 and dual encrypted by both the CA system A encrypter 318and the CA system B encrypter 324. Packets to be dual partiallyencrypted are duplicated and the PIDs of duplicate packets encrypted byencrypter 324 are remapped at 330 to a secondary PID as in the previousembodiment. The remaining packets are passed in the clear. The clearpackets, system A encrypted packets, system B encrypted packets, systeminformation 328, and PSI from 329 are multiplexed together for broadcastover the cable system 32.

As with the previous system, the legacy STB 36 receives clear data anddata encrypted under CA encryption system A and transparently passesunencrypted data combined with data decrypted by CA decryption A 40 toits decoder. In the new STB 336, the program is assigned to both aprimary and a secondary PID. The clear packets with the primary PID arereceived and passed to the decoder. The encrypted packets with theprimary PID are discarded. Encrypted packets with the secondary PID aredecrypted and then recombined with the data stream (e.g., by remappingthe packets to the primary PID) for decoding.

Using video as an example, each sample is known as a frame and thesample rate is typically 30 frames per second. If the samples areencoded to fit into 3.8 Mbps, each frame would occupy 127 K bits ofbandwidth. This data is sliced for MPEG transport into packets of 188bytes with the first packet(s) of each frame containing the header usedfor instructions to process the body of the frame data. Dual encryptingjust the first header packet (1504 additional bits) requires only 1.2%(1504/127K) of additional bandwidth. For high definition (19 Mbps)streams the percentage is even less.

As previously stated, transport stream packets containing a PES headerare the preferred target for encryption according to the presentembodiment. These packets contain sequence headers, sequence extensionheaders, picture headers, quantization and other decode tables that alsofall within the same packet. If these packets cannot be decoded (i.e.,by a hacker attempting to view unauthorized programming without payingthe subscription charges), not even small portions of the program can beviewed. In general, any attempt to tune to the program will likely bemet with a blank screen and no audio whatsoever since known decoderintegrated circuits use the PES header to sync up to an elementarystream such as video and audio in real-time. By encrypting the PESheader, the decoding engine in an un-authorized set-top box cannot evenget started. Post processing attacks, e.g. on stored content, arethwarted by dynamically changing information in the packet containingthe PES header. Those skilled in the art will appreciate that forimplementation of this embodiment of the invention, other critical orimportant packets or content elements may also be identified forencryption that could severely inhibit unauthorized viewing withoutdeparting from the present invention. For example, MPEG intra-coded or Iframe picture packets could be encrypted to inhibit viewing of the videoportion of the program. Embodiments of the present invention may be usedin any combination with other embodiments, e.g. scrambling the packetcontaining the PES header as well as random, M^(th) and N, or datastructure encryption of the other packets. Critical packet encryptionmay be applied to video encryption, while a different method may beapplied to audio. Audio could be dual encrypted, for instance. Othervariations within the scope of the present invention will occur to thoseskilled in the art.

FIG. 7 is a flow chart depicting an exemplary encoding process such asthat which would be used at headend 322 of FIG. 6. When a transportstream packet is received at 350, the packet is examined to determine ifit meets a selection criteria for encryption. In the preferredembodiment, this selection criteria is the presence of a PES header as aportion of the packet payload. If not, the packet is passed as a clearunencrypted packet (C) for insertion into the output data stream at 354.If the packet meets the criteria, it is encrypted under CA encryptionsystem A at 358 to produce an encrypted packet EA. The packet is alsoduplicated and encrypted under CA encryption system B at 362 to producean encrypted packet. This encrypted packet is mapped to a secondary PIDat 366 to produce an encrypted packet EB. Encrypted packets EA and EBare inserted into the output data stream along with clear packets C at354. Preferably, the EA and EB packets are inserted at the location inthe data stream where the single original packet was obtained forencryption so that the sequencing of the data remains essentially thesame.

When the output data stream from 354 is received at an STB compliantwith CA encryption system B such as 336 of FIG. 6, a process such asthat of FIG. 8 (which is similar to that of FIG. 5) can be utilized todecrypt and decode the program. When a packet is received having eitherthe primary or the secondary PID at 370, a determination is made as towhether the packet is clear (C) or encrypted under system A (EA) at 370or encrypted under system B (EB) at 374. If the packet is clear, it ispassed directly to the decoder 378. In some embodiments, the relativeposition of the primary packet, before or after, to the secondary packetmay be used to signal a primary packet for replacement in the stream. Acheck of the scrambling state of the primary packet is not specificallyrequired. If the packet is an EA packet, it is dropped at 380. If thepacket is an EB packet, it is decrypted at 384. At this point, thesecondary PID packets and/or the primary PID packets are remapped to thesame PID at 388. The decrypted and clear packets are decoded at 378.

The dual partial encryption arrangement described above can greatlyreduce the bandwidth requirements over that required for full dualcarriage. Encrypting the PES header information can be effective insecuring video and audio content, while allowing two or more CA systemsto independently “co-exist” on the same cable system. Legacy system Aset-top boxes are un-affected, and system B set-top boxes require onlyan minor hardware, firmware, or software enhancement to listen for twoPIDs each for video and audio. Each type of STB, legacy and non-legacy,retains its intrinsic CA methodology. Headend modification is limited toselecting content for encryption, introducing the second encrypter, andproviding a means to mix the combination into a composite output stream.

In one embodiment, the headend equipment is configured toopportunistically scramble as much of the content as the bandwidth willallow, and not just the critical PES headers. These additional scrambledpackets would be either in the PES payload or other packets throughoutthe video/audio frame to provide even further security of the content.

SI Encryption

Turning now to FIG. 9, one embodiment of a system that minimizes theneed for any additional bandwidth is illustrated as system 400. In thisembodiment, the system takes advantage of the fact that systeminformation (SI) 428 is required for a set-top box to tune programming.In a cable system, SI is sent out-of-band, at a frequency set aside fromthe normal viewing channels. It is possible to also send it in-band. Ifsent in-band, the SI 428 is replicated and sent with each stream. Fordiscussion purposes, assume that the SI delivered to “legacy” set-topboxes from previous manufacturers is separate from the SI delivered toset-tops from new manufacturers such as STB 436. Consequently, eachversion of the SI can be independently scrambled as illustrated usingconditional access system A 418 and conditional access system B 424. Theclear video 404 and clear audio 406 are delivered in the clear, but inorder to understand how to find them, the SI information 428 is needed.

The SI delivers information about channel names and program guideinformation such as program names and start times, etc . . . as well asthe frequency tuning information for each channel. Digital channels aremultiplexed together and delivered at particular frequencies. In theembodiment of the invention, the SI information is encrypted, and onlymade available to authorized set-top boxes. If the SI information is notreceived to allow knowledge of the location of all the A/V frequenciesin the plant, then tuning cannot take place.

To frustrate a hacker who might program a set-top box to trial or scanfrequencies, the frequencies for the channels can be offset from thestandard frequencies. Also, the frequencies can be dynamically changedon a daily, weekly or other periodic or random basis. A typical cableheadend may have roughly 30 frequencies in use. Each frequency istypically chosen to avoid interference between, among other things, eachother, terrestrial broadcast signals, and frequencies used by clocks ofthe receiving equipment. Each channel has at least one independentalternate frequency that if used would not cause interference, or causethe frequency of adjoining channels to be changed. The actual possiblefrequency maps are therefore 2³⁰ or 1.07×10⁹. However, a hacker mightsimply quickly try both frequencies on each tune attempt for each of the30 channels or so. If successful in locating a frequency with content,the hacker's set-top box can then parse the PSI 429 to learn about theindividual PIDs that make up a program. The hacker will have difficultylearning that “program 1” is “CNN”, and that “program 5” is “TNN” and soon. That information is sent with the SI, which as stated above isscrambled and otherwise unavailable to the un-authorized set-top box.However, a persistent hacker might yet figure those out by selectingeach one and examining the content delivered. So in order to frustratethe identification of channels, the assignment of a program within asingle stream can move around, e.g. program 2 and program 5 swapped inthe example above so that “program 1” is “TNN” and “program 5” is “CNN”.Also, it is possible to move programs to entirely different streams withentirely new program groupings. A typical digital cable headend candeliver 250 programs of content including music. Each can be uniquelytuned. The possible combinations for re-ordering are 250! (factorial).Without a map of the content provided by either the delivered SI or by ahacker, the user is faced with randomly selecting each program in astream to. see if it is the one interest.

Thus, at headend 422, the video signal 404 and the audio signal 406 areprovided in the clear (unencrypted) while the SI 428 is provided tomultiple CA systems for delivery over the cable network. Thus, in theexemplary system 400, clear SI 428 is provided to an encryption system418 that encrypts SI data using encryption system A. Simultaneously,clear SI 428 is provided to encryption system 424 that encrypts the SIdata using encryption system B. Clear video 404, audio 406, and PSI 429are then multiplexed along with encrypted SI from 418 (SI A) andencrypted SI from 424 (SI B) to replace out of band system information428.

After distribution through the cable system 32, the video, the audio,PSI, system information A and system information B are all delivered toset-top boxes 36 and 436. At STB 36, the encrypted SI is decrypted at CAsystem A 40 to provide tuning information to the set-top box. Theset-top box tunes a particular program to allow it to be displayed ontelevision set 44. Similarly, at STB 436, the encrypted SI is decryptedat CA system B 440 to provide tuning information for the set-top box, toallow a particular program to be tuned and displayed on television set444.

An advantage of this approach is that no additional A/V bandwidth isrequired in the content delivery system, e.g. cable system. Only the SIis dual carried. No special hardware is required. Any offset frequenciesfrom the standard ones can be easily accommodated by most tuners. SIdecryption can be performed in software or can be aided by hardware. Forexample, legacy Motorola set-top boxes have an ability to descramble theSI delivered in the Motorola out-of-band using a hardware decrypterbuilt into the decoder IC chip.

A determined hacker can potentially use a spectrum analyzer on the coaxcable to learn where the A/V channels are located. Also, it may bepossible for the hacker to program a set-top box to auto-scan thefrequency band to learn where the A/V channels are—a relatively slowprocess. If the A/V channel frequencies changed dynamically, then thatcould foil the hackers, since they would need to be constantly analyzingor scanning the band. Also, the program numbers and assigned PIDs canvary. However, dynamically changing frequencies, program numbers, andPIDs might create operational difficulties to a service provider, e.g.cable operator.

Generalized Representation

Each of the above techniques can be represented generically by thesystem 500 of FIG. 10. This system 500 has a cable system headend 522with clear video 504, clear audio 506, SI 528, and PSI 529 any of whichcan be selectively switched through an intelligent processor controlledswitch 518, which also serves to assign PIDs (in embodiments requiringPID assignment or reassignment), to conditional access system A 520 orconditional access system B 524 or passed in the clear to the cablesystem 32. As previously, the program or SI encrypted according to thelegacy CA system A can be properly decoded by STB 36. The CA system Bencrypted information is understood by STBs 536 and decrypted anddecoded accordingly, as described previously.

PID Mapping Considerations

The PID mapping concepts described above can be generally applied to thedual partial encryption techniques described herein, where needed. Atthe cable headend, the general concept is that a data stream of packetsis manipulated to duplicate packets selected for encryption. Thosepackets are duplicated and encrypted under two distinct encryptionmethods. The duplicated packets are assigned separate PIDs (one of whichmatches the legacy CA PID used for clear content) and reinserted in thelocation of the original selected packet in the data stream fortransmission over the cable system. At the output of the cable systemheadend, a stream of packets appears with the legacy encrypted packetsand clear packets having the same PID. A secondary PID identifies thepackets that are encrypted under the new encryption system. In additionto the PID remapping that takes place at the headend, MPEG packetsutilize a continuity counter to maintain the appropriate sequence of thepackets. In order to assure proper decoding, this continuity countershould be properly maintained during creation of the packetized datastream at the headend. This is accomplished by assuring that packetswith each PID are assigned continuity counters sequentially in a normalmanner. Thus, packets with the secondary PID will carry a separatecontinuity counter from those of the primary PID. This is illustratedbelow in simplified form where PID 025 is the primary PID and PID 125 isthe secondary PID, E represents an encrypted packet, C represents aclear packet, and the end number represents a continuity counter.

025C04 025E05 125E11 025C06 025C07 025C08 025C09 025E10 125E12

In this exemplary segment of packets, packets with PID 025 are seen tohave their own sequence of continuity counters (04, 05, 06, 07, 08, 09,. . . ). Similarly, the packets with secondary PID 125 also have theirown sequence of continuity counters (11, 12, . . . ).

At the STB, the PIDs can be manipulated in any number of ways tocorrectly associate the encrypted packets with secondary PID with thecorrect program. In one implementation, the packet headers of an inputstream segment illustrated below:

025C04 025E05 125E11 025C06 025C07 025C08 025009 025E10 125E12are manipulated to create the following output stream segment:

125C04 025E11 125E05 125C06 125C07 125C08 125C09 025E12 125E10The primary PIDs (025) in the input stream are replaced with thesecondary PID (125) for the clear packets (C). For the encryptedpackets, the primary PID and secondary PID are retained, but thecontinuity counters are swapped. Thus, the stream of packets can now beproperly decrypted and decoded without errors caused by loss ofcontinuity using the secondary PID. Other methods for manipulation ofthe PIDs, e.g. mapping the PID (125) on the scrambled legacy packet to aNOP PID (all ones) or other PID value not decoded, and the continuitycounters can also be used in embodiments consistent with the presentinvention.

The primary and secondary PIDs are conveyed to the STBs in the programmap table (PMT) transmitted as a part of the program specificinformation (PSI) data stream. The existence of a secondary PID can beestablished to be ignored by the STB operating under CA encryptionsystem A (the ulegacyu system), but new STBs operating under CAencryption system B are programmed to recognize that secondary PIDs areused to convey the encrypted part of the program associated with theprimary PID. The set-top boxes are alerted to the fact that thisencryption scheme is being used by the presence of a CA descriptor inthe elementary PID “for loop” of the PMT. There typically would be a CAdescriptor for the video elementary PID “for loop”, and another one inthe audio elementary PID “for loop”. The CA descriptor uses a PrivateData Byte to identify the CA_PID as either the ECM PID or the secondaryPID used for partial scrambling, thus setting up the STB operating undersystem B to look for both primary and secondary PIDs associated with asingle program. Since the PID field in the transport header is thirteenbits in length, there are 2¹³ or 8,192 PIDs available for use, any sparePIDs can be utilized for the secondary PIDs as required.

In addition to the assignment of a PID for each program component orselected portion thereof, a new PID may be assigned to tag ECM data usedin the second encryption technique. Each PID number assigned can benoted as a user defined stream type to prevent disrupting operation of alegacy STB. MPEG defines a reserved block of such numbers for userdefined data stream types.

While conceptually the PID mapping at the cable headend is a simpleoperation, in practice the cable headend equipment is often alreadyestablished and is therefore modified to accomplish this task in amanner that is minimally disruptive to the established cable systemwhile being cost effective. Thus, the details of the actualimplementation within the cable system headend are somewhat dependentupon the actual legacy hardware present in the headend, examples ofwhich are described in greater detail below.

Headend Implementations

Those skilled in the art will appreciate that the above descriptions asrelated to FIGS. 2, 3, 6, 9 and 10 are somewhat conceptual in nature andare used to explain the overall ideas and concepts associated with thevarious embodiments of the present invention. In realizing a real worldimplementation of the present invention, those skilled in the art willrecognize that a significant real world issue to contend with isproviding a cost effective implementation of the various partialencryption methods within existing legacy headend equipment atestablished cable providers. Taking two of the primary legacy cablesystems as examples, the following describes how the above techniquescan be implemented at a cable headend.

First, consider a cable system headend using a Motorola brandconditional access system. In such a system the modifications shown inFIG. 11 can be done to provide a cost effective mechanism for partialdual encryption implementation. In a typical Motorola system, a HITS(Headend In The Sky) or similar data feed is provided from a satellite.This feed provides aggregated digitized content that is supplied tocable providers and is received by a receiver/descrambler/scramblersystem 604 such as the Motorola Integrated Receiver Transcoder (IRT)models IRT 1000 and IRT 2000, and Motorola Modular Processing System(MPS). A clear stream of digitized television data can be obtained fromthe satellite descrambler functional block 606 of thereceiver/descrambler/scrambler 604. This clear stream can be manipulatedby a new functional block shown as packet selector/duplicator 610. Thisnew block 610 may be implemented as a programmed processor or may beotherwise implemented in hardware, software or a combination thereof.

Packet selector/duplicator 610 selects packets that are to be dualencrypted under any of the above partial dual encryption methods. Thosepackets are then duplicated with new PIDs so that they can be lateridentified for encryption. For example, if packets at the input of 610associated with a particular program have PID A, then packetselector/duplicator 610 identifies packets to be encrypted andduplicates those packets and remaps them to PIDs B and C respectively,so that they can be identified later for encryption under two differentsystems. Preferably, the duplicate packets are inserted into the datastream adjacent one another in the location of the originally duplicatedpacket now with PIDs B and C so that they remain in the same orderoriginally presented (except that there are two packets where onepreviously resided in the data stream). Assume, for the moment, that thenew CA system to be added is NDS encryption. In this case, PID A willrepresent clear packets, PID B will represent NDS encrypted packets andPID C will represent Motorola encrypted packets. The packets having PIDB may be encrypted under the NDS encryption at this point in 610 or maybe encrypted later.

The packets with PIDs B and C are then returned to the system 604 wherepackets with PID C are encrypted under Motorola encryption at cablescrambler 612 as instructed by the control system 614 associated withthe Motorola equipment. The output stream from cable scrambler 612 thenproceeds to another new device—PID remapper and scrambler 620, whichreceives the output stream from 612 and now remaps the remaining packetswith PID A to PID C and encrypts the PID B packets under the NDSencryption algorithm under control of control system 624. The outputstream at 626 has clear unencrypted packets with PID C and selectedpackets which have been duplicated and encrypted under the Motorolaencryption system with PID C along with encrypted packets under the NDSencryption system with PID B. This stream is then modulated (e.g.,Quadrature Amplitude Modulated and RF modulated) at 628 for distributionover the cable system. The preferred embodiment maps the unencryptedpackets on PID A to match the scrambled packets on PID C because theaudio and video PIDs called out in legacy program specific information(PSI) are correct that way. The control computer, the scrambler, andlegacy set-top boxes only know about PID C. Alternatively, the scrambledpackets on PID C could be mapped back to PID A, but this would likelymean editing the PSI, that was automatically generated, to map the PIDnumbers from PID C back to PID A in the PID remapper and scrambler 620.

In the above example, the PID remapper and scrambler 620 may also beused to demultiplex PSI information, modify it to reflect the additionof the NDS encryption (through the use of CA descriptors in the PMT) andmultiplex the modified PSI information back into the data stream. TheECMs to support NDS encryption may also be inserted into the data streamat PID remapper and scrambler 620 (or could be inserted by packetselector/duplicator 610).

Thus, in order to add NDS encryption (or another encryption system) to acable system headend using Motorola equipment, packets are duplicatedand PIDs are remapped in the data stream from the satellite descrambler.The remapped PIDs are then used to identify packets that are to bescrambled under each CA system. Once the legacy system encryption hastaken place, the clear PID is then remapped so that both clear andencrypted packets in the legacy system share the same PID (or PIDs). PIDremapping as in 620 and packet selection and duplication as in 610 canbe implemented using a programmed processor or using custom orsemi-custom integrated circuitry such as an application specificintegrated circuit or a programmable logic device or field programmablegate array. Other implementations are also possible without departingfrom the present invention.

FIG. 12 depicts a similar equipment configuration such as that used inimplementing the partial dual encryption of the present invention in aScientific Atlanta based cable headend. In this embodiment, the HITSfeed or similar is received at IRD 704 which incorporates a satellitedescrambler 706. This may be a Motorola IRT or MPS with only thesatellite descrambler function enabled. The output of the satellitedescrambler 706 again provides a clear data stream that can bemanipulated by a new packet selector/duplicator 710 which selectspackets to be encrypted, duplicates them and maps the PIDs of theduplicate packets to new PIDs. Again, for example, packets to remain inthe clear are assigned PID A, packets to be encrypted under the newsystem (e.g., NDS) are assigned PID B and packets to be encrypted underthe Scientific Atlanta encryption system are assigned PID C. The packetswith PID B may be encrypted at this point under the NDS encryptionsystem.

The stream of packets is then sent to a multiplexer 712 (e.g., aScientific Atlanta multiplexer) where the packets having PID C areencrypted under the Scientific Atlanta encryption system at 714 undercontrol of control system 718 associated with multiplexer 712. Thestream of data is then supplied internal to multiplexer 712 to a QAMmodulator 720. In order to properly remap the packets, the QAM modulatedsignal at the output of multiplexer 712 is provided to a new processorsystem 724 where the QAM modulated signal is demodulated at a QAMdemodulator 730 and the clear PID A packets are remapped to PID C at PIDremapper 734 under control of a control system 738. Encryption under theNDS encryption algorithm can also be carried out here rather than in710. The data stream with remapped PIDs and dual partial encryption isthen QAM and RF modulated at 742 for distribution over the cable system.

In the above example, the PID remapper and scrambler 734 may also beused to demultiplex PSI information, modify it to reflect the additionof the NDS encryption (adding the CA descriptors to the PMT) andmultiplex the modified PSI information back into the data stream. TheECMs to support NDS encryption may also be inserted into the data streamat PID remapper and scrambler 734 (or could be inserted by packetselector/duplicator 710). PID remapping and or scrambling as in 734along with QAM demodulation and QAM modulation as in 730 and 742respectively, and packet selection and duplication as in 710 can beimplemented using a programmed processor or using custom or semi-customintegrated circuitry such as an application specific integrated circuitor a programmable logic device or field programmable gate array. Otherimplementations are also possible without departing from the presentinvention.

The above embodiments of the present invention allow legacy scramblingequipment to scramble only the packets desired in an elementary streaminstead of the entire elementary stream. The scrambling of certainpackets of an elementary stream is accomplished by using a PID numberfor packets that are not going to be scrambled, e.g., PID A. Packetsthat will be scrambled will be placed on PID C. The scrambling equipmentwill scramble the packets on PID C (the ones that have been selected forscrambling). After the scrambling has taken place, the unscrambledpackets have the PID number mapped to the same as the scrambledpacket—PID A becomes PID C. The legacy set-top boxes will receive anelementary stream with both scrambled and un-scrambled packets.

The packets in these embodiments are handled as a stream. The entirestream is sent to the legacy scrambling equipment for scrambling. Thiskeeps all of the packets in exact time synchronous order. If packetswere extracted from a stream and sent to the legacy scramblingequipment, time jitter might be introduced. The present embodimentavoids that problem by keeping all the packets in a stream. Theembodiment does not require cooperation from the legacy scramblingequipment provider because that equipment is not involved in theremapping of packets—from PID A to PID C. This remapping is preferablebecause the PID called out by the PSI generated by the legacy scramblingsystem does not need to change. The legacy system knows about PID C, butnot PID A. The entire elementary stream to be scrambled by the legacyscrambling equipment is found on a single PID that the scrambling systemhas been instructed to scramble.

In the above examples, the use of NDS as the second encryption systemshould not be considered limiting. Moreover, although two widely usedsystems—Motorola and Scientific Atlanta have been depicted by way ofexample, similar modifications to legacy systems to permit PID remappingand dual partial encryption can be used. In general, the techniquedescribed above involves the process generally described as 800 in FIG.13. A feed is received at 806 which is descrambled as it is received at810 to produce a clear data stream of packets. At 814, packets areselected according to the desired partial dual encryption technique(e.g., audio only, packets containing PES header, etc.). At 818, theselected packets are duplicated and the duplicate pairs are remapped totwo new PIDs (e.g., PID B and PID C). The duplicated packets are thenencrypted based upon PID (that is, PID C is encrypted according tolegacy encryption and PID B is encrypted according to the new encryptionsystem) at 822. The clear packets (e.g., PID A) are then remapped to thesame PID as the legacy encrypted PID (PID C) at 826.

The order in which some of the elements of the process of FIG. 13 arecarried out can vary according to the particular legacy system beingmodified to accommodate the particular dual encryption arrangement beingused. For example, encryption under a new encryption system can becarried out either at the time of duplication or later at the time ofremapping the legacy packets, as illustrated in FIGS. 11 and 12.Additionally, various demodulation and remodulation operations can becarried out as needed to accommodate the particular legacy system athand (not shown in FIG. 13).

Set-Top Box Implementations

Several set-top box implementations are possible within the scope of thepresent invention. The method used at the headend to select packets forencryption is irrelevant to the STB.

One such implementation is illustrated in FIG. 14. In this embodiment,packets from a tuner and demodulator 904 are provided to a decodercircuit 908's demultiplexer 910. The packets are buffered into a memory912 (e.g., using a unified memory architecture) and processed by theSTB's main CPU 916 using software stored in ROM memory 920.

Selected PIDs can be stripped from the incoming transport via the STB'sPID filter, decrypted and buffered in Synchronous Dynamic Random AccessMemory (SDRAM), similar to the initial processing required inpreparation for transfer to a hard disk drive (HDD) in a Personal VideoRecorder (PVR) application. The host CPU 916 can then “manually” filterthe buffered data in SDRAM for elimination of the packets containingunneeded PIDs. There are some obvious side effects to this process.

The host overhead is estimated to be about 1% of the bandwidth of theCPU. In the worst case, this is equivalent to 40K bytes/Second for a 15Mbit/S video stream. This reduction is possible since at most only 4bytes of each packet is evaluated and the location is on 188 byteintervals so the intervening data does not have to be considered. Eachpacket header in SDRAM can therefore be directly accessed through simplememory pointer manipulation. Additionally, Packets are cached in blocksand evaluated en masse to reduce task switching of the host. This wouldeliminate an interrupt to other tasks upon the reception of each newpacket. This may produce a increased latency for starting decode of astream upon channel change to allow time for cache fill. This may benegligible depending upon the allocated SDRAM cache buffer size.

The host filtered packets in the SDRAM buffer are then transferred tothe A/V Queue through existing hardware DMA processes and mimics a PVRimplementation. The filtered packets are then provided to the decoder922 for decoding.

A second technique for implementation in a set-top box is illustrated inFIG. 15. Since RISC processor AN decoder module 934 in decoder circuit930 processes the partial transport PIDs and strips/concatenates fordecode, the firmware within decoder IC 930 can be altered to excludeindividual packets in a partial transport stream based upon criteria ineach packet header. Alternatively, the demultiplexer 910 can be designedto exclude the packets. Legacy scrambled packet(s) pass through the CAmodule still encrypted. By using the decoder IC 930 to perform theremoval of the legacy scrambled packets and assuming that the packetsencrypted under the new encryption algorithm (e.g., NDS) are immediatelyadjacent the legacy encrypted packet (or at least prior to next primarystream video packet) then the pruning of the legacy packet in effectaccomplishes the merging of a single, clear stream into the header stripand video queue.

A third technique for implementation of partial decryption in a set-topbox is illustrated in FIG. 16. In this embodiment, the PID remapping iscarried out either within a circuit such as an Application SpecificIntegrated Circuit (ASIC), Field Programmable Gate Array (FPGA), or aprogrammable logic device (PLD) 938 or other custom designed circuitplaced between the tuner and demodulator 904 and the decoder IC 908. Ina variation of this embodiment, the decoder IC 908 can be modified toimplement the PID remapping within demultiplexer 940. In either case,the legacy encrypted packets are dropped and the non-legacy packets arere-mapped either in circuit 938 or demultiplexer 940.

This third technique can be implemented in one embodiment using the PLDdepicted in FIG. 17. This implementation assumes that there will not bemore than one encrypted packet of a particular PID appearing in a row,thus, the implementation could be modified to accommodate bursts ofencrypted packets such as with the M and N^(th) encryption arrangementdescribed above (as will be explained later). The input stream passesthrough a PID identifier 950 which serves to demultiplex the inputstream based upon PID. Primary PID packets are checked for continuity at958. If a continuity error is detected, the error is noted and thecounter is reset at 960.

The original input packet stream contains packets tagged with many PIDs.The PID identifier 950 separates packets with the two PIDs of interest(primary and secondary PIDs) from all other packets. This capability canbe scaled to process multiple PID pairs. These other packets arebypassed directly to the revised output stream. This processing resultsin a three or four byte clocking delay.

Packets with the secondary PID are routed by the PID identifier 950 to acontinuity count checker 954 which verifies sequence integrity for thisPID. Any errors are noted at 956, but specific handling of errors is notrelevant to understanding the present invention. The packet's continuityvalue is preserved for use in checking the sequence of packets tofollow. A corresponding continuity check 958 is done for packets withthe primary PID using the independent primary counter, and again anyerrors are noted at 960.

The secondary packet is checked for a secondary flag at 962. ThisBoolean indicator is used to remember if a secondary packet has beenprocessed since the last clear packet. More than one secondary packetbetween clear packets is an error in this embodiment and is noted at964. Presence of a secondary packet is remembered by setting thesecondary flag at 966.

The continuity counter of the secondary packet is changed at 968 to fitinto the sequence of the clear packets. Data for this substitution comesfrom the value used to verify continuity of the primary stream at 958.The revised packet is sent out from 968 and merged into the revisedstream forming the output stream.

After packets with primary PIDs have had their continuity checked at958, they are differentiated at 970 by the scrambling flags in theheader. If the packet is scrambled, the primary flag is queried at 974.This primary flag Boolean indicator is used to remember if a primaryencrypted packet has been processed since the last clear packet. Morethan one encrypted primary packet between clear packets is an error inthis embodiment and is noted at 976 before the packet is discarded at978. Presence of a encrypted primary packet is remembered by setting theprimary flag at 980. If there is no downstream consumer for the primaryencrypted packet, it can be discarded at 978. In some cases it may benecessary for the packet to continue on (in which case its continuitycounter can use the discarded secondary continuity value).

If the primary PID scramble test at 970 detects a clear packet, thestate of the secondary and primary flags is tested at 984. Validconditions are neither set and both set, since encrypted packets shouldcome in matched pairs. A sequence of one without the other should benoted as an error at 988. However, the order of appearance isinconsequential in this embodiment. It should be noted that there may beother ways to flag a primary packet for deletion other than thescrambling bits in the transport header, e.g. the transport_prioritybit. Also, it is possible not to use any bits what-so-ever, e.g. usingthe primary packet's simple positional information, before or after thesecondary packet, as an indicator for replacement.

Clear packets with the primary PID then have their PID value changed at992 to the secondary PID before being output in the revised outputstream. Alternatively, the secondary PID packets can be remapped to theprimary PID value. The content can be decoded when the decoder isprovided with the correct PID for decoding the content (whether theprimary or secondary PID). Presence of a clear packet also clears theprimary and secondary Boolean flags.

In all the embodiments proposed, the secondary packet can be insertedadjoining the primary packet to be replaced even when a series ofprimary packets are tagged for replacement. However, in some instances,it may facilitate headend partial scrambling if multiple encryptedpackets can be inserted into the stream without the interveningsecondary packets. In order to accommodate multiple consecutiveencrypted packets (such as with the M^(th) and N partial encryptionmethod), the use of primary and secondary flags can be replaced with acounter matching test function. Thus, in place of elements 962, 964 and966, a secondary encrypted packet counter can be incremented. In placeof elements 970, 974, 976 and 980, a primary encrypted packet countercan be incremented. Element 984 can be replaced with a comparison of theprimary and secondary encrypted packet counters to assure that the samenumber of encrypted packets are received in both the primary andsecondary paths. Instead of clearing flags at 992, the counters arecleared. Using this variation, multiple encrypted packets may beconsecutively received and the number received are compared to monitorthe integrity of the data stream. Other variations will occur to thoseskilled in the art.

The function described above in connection with FIG. 17 can beintegrated into an A/V decoder chip that functions similar to that ofthe commercially available Broadcom series 70xx or 71xx decoder used incommercial set-top boxes. FIG. 18 illustrates a block diagram for such adecoder chip where the functions already provided in the commercial chipare essentially unchanged. Normally, commercial decoder chips expectthere to be a one-to-one correspondence between the PIDs and programcomponents (e.g., audio or video).

The decoder illustrated in FIG. 18 permits multiple PIDs to beprogrammed into the decoder via a connection to the STB centralprocessor so that both primary and secondary PIDs can be handled formain audio, main video and a secondary video used for picture-in-picture(PiP) functions. In this embodiment, the raw data stream is received bya Packet sorter 1002 that provides a function similar to that describedin connection with FIG. 17 above to demultiplex the stream of packetsbased upon PID. Preferably, the decoder of FIG. 18 carries out the PIDsorting function of 1002 using hard wired logic circuitry rather thanprogrammed software. Program guide and stream navigation information isoutput for use by an STB's main processor, for example. The packetsassociated with the main audio program are buffered in a FIFO 1006,decrypted in a decrypter 1010 and then buffered at 1014 for retrieval byan MPEG audio decoder 1018 as needed. Decoded MPEG audio is thenprovided as an output from the decoder.

In a similar manner, packets associated with the main video program arebuffered in a FIFO 1024, decrypted in a decrypter 1028 and then bufferedat 1032 for retrieval by an MPEG video decoder 1036 as needed. DecodedMPEG video for the main channel is then provided to a compositer 1040and then provided as an output from the decoder. Similarly, packetsassociated with picture-in-picture video are buffered in a FIFO 1044,decrypted in a decrypter 1048 and then buffered at 1052 for retrieval byan MPEG video decoder 1056 as needed. Decoded MPEG video for thepicture-in-picture channel is then provided to the compositer 1040 whereit is combined with the main channel video and then provided as adecoded video output from the decoder. Other packets not associated withthe main or picture-in-picture channel are discarded. Of course, otherfunctions may be incorporated in the decoder chip or deleted withoutdeparting from embodiments of the present invention.

CONCLUSION

As previously mentioned, in order to thwart a persistent threat byhackers, several of the above partial encryption arrangements can becombined to further enhance security. For example, the critical packetencryption can be used in any combination with SI encryption, M^(th) anN, random encryption, time slice and other techniques to further enhancesecurity. In one embodiment, as many packets would be encrypted asbandwidth is available. The amount of encryption might depend on whetherthe content was a regular program or premium (such as a pay-per-view orVOD), whether it was an adult program or a regular movie, and thesecurity level that the various cable operators feel comfortableoperating. Those skilled in the art will appreciate that many othercombinations are possible to further enhance the security of theencryption without departing from the present invention.

The present invention, as described above in its various embodiments,has been described in terms of a digital A/V system using MPEG 2 coding.Thus, the various packet names and protocol specifically discussed isrelated the MPEG 2 coding and decoding. However, those skilled in theart will appreciate that the concepts disclosed and claimed herein arenot to be construed in such a limited scope. The same or analogoustechniques can be used in any digital cable system without limitation toMPEG 2 protocols. Moreover, the present techniques can be used in anyother suitable content delivery scenario including, but not limited to,terrestrial broadcast based content delivery systems, Internet basedcontent delivery, satellite based content delivery systems such as, forexample, the Digital Satellite Service (DSS) such as that used in theDirecTV™ system, as well as package media (e.g. CDs and DVDs). Thesevarious alternatives are considered equivalent for purposes of thisdocument, and the exemplary MPEG 2 cable embodiment should be consideredto be an exemplary embodiment presented for illustrative purposes.

In addition, the present invention has been described in terms ofdecoding partially encrypted television programs using a televisionset-top box. However, the present decoding mechanism can equally beimplemented within a television receiver without need for an STB, ormusic player such as an MP3 player. Such embodiments are consideredequivalent.

Also, while the present invention has been described in terms of the useof the encryption techniques described to provide a mechanism for dualpartial encryption of a television program, these partial encryptiontechniques could be used as a single encryption technique or formultiple encryption under more than two encryption systems withoutlimitation. More than two encryption systems would be accommodated withadditional duplicated packets that are encrypted. Alternatively, theencryption key for one of the duplicated packets may be shared amongstthe multiple encryption systems. Additionally, although specificallydisclosed for the purpose of encryption of television programming, thepresent inventions can be utilized for single or dual encryption ofother content including, but not limited to content for download overthe Internet or other network, music content, packaged media content aswell as other types of information content. Such content may be playedon any number of playback devices including but not limited to personaldigital assistants (PDAs), personal computers, personal music players,audio systems, audio/video systems, etc. without departing from thepresent invention.

Those skilled in the art will recognize that the present invention hasbeen described in terms of exemplary embodiments that can be realized byuse of a programmed processor. However, the invention should not be solimited, since the present invention could be implemented using hardwarecomponent equivalents such as special purpose hardware and/or dedicatedprocessors which are equivalents to the invention as described andclaimed. Similarly, general purpose computers, microprocessor basedcomputers, micro-controllers, optical computers, analog computers,dedicated processors and/or dedicated hard wired logic may be used toconstruct alternative equivalent embodiments of the present invention.

Those skilled in the art will appreciate that the program steps andassociated data used to implement the embodiments described above can beimplemented using disc storage as well as other forms of storage such asfor example Read Only Memory (ROM) devices, Random Access Memory (RAM)devices; optical storage elements, magnetic storage elements,magneto-optical storage elements, flash memory, core memory and/or otherequivalent storage technologies without departing from the presentinvention. Such alternative storage devices should be consideredequivalents.

The present invention, as described in embodiments herein, can beimplemented using a programmed processor executing programminginstructions that are broadly described above in flow chart form thatcan be stored on any suitable electronic storage medium or transmittedover any suitable electronic communication medium. However, thoseskilled in the art will appreciate that the processes described abovecan be implemented in any number of variations and in many suitableprogramming languages without departing from the present invention. Forexample, the order of certain operations carried out can often bevaried, additional operations can be added or operations can be deletedwithout departing from the invention. Error trapping can be added and/orenhanced and variations can be made in user interface and informationpresentation without departing from the present invention. Suchvariations are contemplated and considered equivalent.

While the invention has been described in conjunction with specificembodiments, it is evident that many alternatives, modifications,permutations and variations will become apparent to those skilled in theart in light of the foregoing description. Accordingly, it is intendedthat the present invention embrace all such alternatives, modificationsand variations as fall within the scope of the appended claims.

1. A method of decoding partially encrypted digital video content,comprising: receiving partially encrypted digital video contentcomprising unencrypted data, first data encrypted under a firstencryption system and second data encrypted under a second encryptionsystem, wherein the first and second data are identical whenunencrypted; decrypting the second encrypted data; decoding theunencrypted data and the decrypted second data to decode the partiallyencrypted digital video content; and outputting decoded digital videocontent comprising the unencrypted data and the decrypted second data.2. The method according to claim 1, wherein the receiving, decryptingand decoding are carried out in a television device.
 3. The methodaccording to claim 2, wherein the television device comprises atelevision set-top box.
 4. A method of decoding a partially encrypteddigital television signal, comprising: receiving a message identifying aprimary packet identifier (PID) for a television program and a secondaryPID for the television program; receiving multiple selectively encrypteddigital video content in which the primary PID identifies unencryptedpackets of data as well as selected packets of data that are encryptedunder a first encryption method, and wherein the digital video contentfurther comprises a duplicate of the selected packets of data encryptedunder a second encryption method that are identified by the secondaryPID; decrypting packets of data having the secondary PID; and combiningthe decrypted packets of data with unencrypted packets of data havingthe primary PID to form an output data stream representing thetelevision program.
 5. The method according to claim 4, furthercomprising decoding the decrypted packets of data and the packets ofdata having the primary PID.
 6. The method according to claim 4, furthercomprising mapping the decrypted packets of data to the primary PID. 7.The method according to claim 6, wherein the mapping is carried out inan integrated circuit device.
 8. The method according to claim 6,wherein the mapping is carried out in one of an application specificintegrated circuit device, a programmable logic device, and a fieldprogrammable gate array.
 9. The method according to claim 4, whereinpackets of data having the primary PID comprise unencrypted packets ofdata and encrypted packets of data and further comprising: discardingthe encrypted packets of data having the primary PID.
 10. The methodaccording to claim 4, carried out in a television receiver device. 11.The method according to claim 4, carried out in a television set-topbox.
 12. A method of decrypting a partially multiple encrypted digitaltelevision program, comprising: receiving multiple selectively encrypteddigital video data in which a primary packet identifier identifiesunencrypted packets of digital video data as well as selected packets ofdigital video data that are encrypted under a first encryption method,and wherein the digital video data further comprises a duplicate of theselected packets of digital video data that are encrypted under a secondencryption method and identified by a secondary packet identifier;identifying the digital television program by unencrypted packets ofdigital video data associated with the primary packet identifier andencrypted packets of digital video data associated with the secondarypacket identifier; decrypting packets of digital video data having thesecondary packet identifier in order to provide a fully unencrypteddigital television; and outputting the fully unencrypted digitaltelevision program comprising the decrypted packets of digital videodata and the unencrypted digital video data.
 13. The method according toclaim 12, further comprising decoding the decrypted packets of digitalvideo data having the secondary packet identifier along with decryptedpackets of digital video data having the primary packet identifier toproduce a decoded partially encrypted digital television program as anoutput.
 14. The method according to claim 12 further comprisingdiscarding encrypted packets of digital video data having the primarypacket identifier.
 15. The method according to claim 12, carried out ina television set-top box.
 16. The method according to claim 12, whereinthe encrypted packets of digital video data comprise transport streampackets carrying an MPEG packetized elementary stream (PES) header as aportion of a payload thereof.
 17. The method according to claim 12,wherein the encrypted packets further comprise digital audio datapackets.
 18. The method according to claim 12, wherein the encryptedpackets of digital video data comprise time sliced samples of thetelevision program.
 19. The method according to claim 12, wherein theencrypted packets of digital video data contain information critical todecoding the television program.
 20. The method according to claim 12,wherein the television program is compressed and wherein the encryptedpackets of digital video data comprise packets containing informationused for decompression of the television program.
 21. The methodaccording to claim 12, wherein the encrypted packets of digital videodata comprise N packets out of every M packets where N is less than M.22. The method according to claim 12, further comprising remappingpackets of digital video data having the secondary packet identifier tohave the primary packet identifier.
 23. An electronic storage mediumstoring instructions which, when executed on a programmed processor,carry out the method of decoding a television program according to claim12.
 24. A digital television receiver device, comprising: means forreceiving a multiple partially encrypted digital television signal, thetelevision signal being identified by packets of digital video dataassociated with either a primary packet identifier or a secondary packetidentifier; wherein the multiple partially encrypted digital televisionsignal comprises unencrypted packets of digital video data identified bythe first packet identifier, packets of digital video data encryptedunder a first encryption method, and packets of digital video dataencrypted under a second encryption method identified by the secondpacket identifier, wherein the packets of digital video data encryptedunder the first and second encryption methods represent identical datawhen unencrypted; a decrypter that decrypts packets of digital videodata having the secondary packet identifier; and a decoder that decodesthe decrypted packets of digital video data having the secondary packetidentifier along with unencrypted packets of digital video data havingthe primary packet identifier to decode the partially encrypted digitaltelevision signal as an output thereof.
 25. The apparatus according toclaim 24, further comprising means for discarding encrypted packets ofdigital video data having the primary packet identifier.
 26. Theapparatus according to claim 24, further comprising discarding encryptedpackets of digital video data having the first packet identifier. 27.The apparatus according to claim 24, wherein the encrypted packets ofdigital video data further comprise transport stream packets carrying anMPEG packetized elementary stream (PES) header as a portion of a payloadthereof.
 28. The apparatus according to claim 24, wherein the encryptedpackets of digital video data further comprise audio packets.
 29. Theapparatus according to claim 24, wherein the encrypted packets ofdigital video data comprise time sliced samples of the televisionsignal.
 30. The apparatus according to claim 24, wherein the digitaltelevision receiver device comprises a digital television set-top box.31. A digital audio visual content player, comprising: means forreceiving digital multiple partially encrypted audio visual content, thecontent being identified by packets of audio visual data associated witheither a primary packet identifier or a secondary packet identifier;wherein the digital multiple partially encrypted audio visual contentcomprises unencrypted packets of audio visual data identified by thefirst packet identifier, packets of audio visual data encrypted under afirst encryption method, and packets of audio visual data encryptedunder a second encryption method identified by the second packetidentifier, wherein the packets of audio visual data encrypted under thefirst and second encryption methods represent identical audio visualdata when unencrypted; a decrypter that decrypts packets of audio visualdata having the secondary packet identifier; and a decoder that decodesthe decrypted packets of audio visual data having the secondary packetidentifier along with certain packets of audio visual data having theprimary packet identifier to produce the digital multiple partiallyencrypted audio visual content as an output thereof.
 32. The apparatusaccording to claim 31, further comprising means for discarding encryptedpackets of audio visual data having the primary packet identifier. 33.The apparatus according to claim 31, wherein certain of the packets ofaudio visual data associated with the primary packet identifier areencrypted according to a first encryption method, and wherein thepackets of audio visual data having a secondary packet identifier areencrypted according to a second encryption method.
 34. The apparatusaccording to claim 31, wherein the encrypted packets of audio visualdata comprise transport stream packets carrying an MPEG packetizedelementary stream (PES) header as a portion of a payload thereof. 35.The apparatus according to claim 31, wherein certain of the encryptedpackets of audio visual data comprise audio packets.
 36. The apparatusaccording to claim 31, wherein certain of the encrypted packets of audiovisual data comprise video packets.
 37. The apparatus according to claim31, wherein the encrypted packets of audio visual data comprise timesliced samples of the television program.
 38. The apparatus according toclaim 31, wherein content player comprises one of a television device aPDA, a music player and a personal computer.
 39. A circuit thatprocesses a stream of packetized audio visual data, comprising: an inputthat receives an input stream of audio visual packets of data, the inputstream of packets comprising: unencrypted packets of data having a firstpacket identifier, encrypted packets of data having the first packetidentifier, encrypted packets of data having a second packet identifier,wherein the encrypted packets of data having the first and second packetidentifiers represent identical data when unencrypted; a packetidentifier reader that reads the packet identifiers of the packets inthe input stream of packets and that discards the encrypted packetshaving the first packet identifier; a packet identifier re-mappingcircuit that re-maps the second packet identifier to the first packetidentifier to produce re-mapped packets; and a multiplexer thatmultiplexes the re-mapped packets with the unencrypted packets havingthe first packet identifier to produce an output stream of audio visualdata packets.
 40. The apparatus according to claim 39, wherein theencrypted packets having the first packet identifier are encryptedaccording to a first encryption technique; and wherein the encryptedpackets having the second packet identifier are encrypted according to asecond encryption technique.
 41. The apparatus according to claim 39,further comprising an MPEG decoder receiving the output stream ofpackets.
 42. The apparatus according to claim 39, wherein the circuit isembodied in an integrated circuit.
 43. The apparatus according to claim39, wherein the circuit is embodied in one of a field programmable gatearray, a programmable logic device and an application specificintegrated circuit.
 44. The apparatus according to claim 39, furthercomprising a demultiplexer that demultiplexes the output stream ofpackets based upon the packet identifiers.
 45. A circuit that processesan input stream of audio visual data packets, comprising: input meansfor receiving an input stream of audio visual data packets, the inputstream of packets comprising: unencrypted packets of data having a firstpacket identifier, encrypted packets of data having the first packetidentifier, encrypted packets of data having a second packet identifier,wherein the encrypted packets of data having the first and second packetidentifiers represent identical data when unencrypted; packet identifierreading means for reading the packet identifiers of the packets of datain the input stream of packets and for discarding the encrypted packetsof data having the first packet identifier; packet identifier re-mappingmeans for re-mapping the second packet identifier to the first packetidentifier to produce re-mapped packets of data; and multiplexer meansfor multiplexing the re-mapped packets of data with the unencryptedpackets of data having the first packet identifier to produce an outputstream of audio visual data packets.
 46. The apparatus according toclaim 45, wherein the encrypted packets of data having the first packetidentifier are encrypted according to a first encryption technique; andwherein the encrypted packets of data having the second packetidentifier are encrypted according to a second encryption technique. 47.The apparatus according to claim 45, further comprising an MPEG decoderreceiving the output stream of packets of audio visual data.
 48. Theapparatus according to claim 45, wherein the circuit is embodied in anintegrated circuit.
 49. The apparatus according to claim 45, wherein thecircuit is embodied in one of a field programmable gate array, aprogrammable logic device and an application specific integratedcircuit.
 50. The apparatus according to claim 45, further comprising ademultiplexer that demultiplexes the output stream of packets based uponthe packet identifiers.
 51. A method of processing packets of audiovisual data, comprising: receiving an input stream of packets of audiovisual data, the input stream of packets of audio visual datacomprising: unencrypted packets of audio visual data having a firstpacket identifier, encrypted packets of audio visual data having thefirst packet identifier, encrypted packets of audio visual data having asecond packet identifier, wherein the encrypted packets of audio visualdata having the first and second packet identifiers represent identicaldata when unencrypted; reading the packet identifiers of the packets ofaudio visual data in the input stream of packets of audio visual data;discarding the encrypted packets of audio visual data having the firstpacket identifier; re-mapping the second packet identifier to the firstpacket identifier to produce re-mapped packets; and multiplexing there-mapped packets of audio visual data with the unencrypted packets ofaudio visual data having the first packet identifier to produce anoutput stream of packets of audio visual data.
 52. The method accordingto claim 51, wherein the encrypted packets of audio visual data havingthe first packet identifier are encrypted according to a firstencryption technique; and wherein the encrypted packets of audio visualdata having the second packet identifier are encrypted according to asecond encryption technique.
 53. The method according to claim 51,carried out in an integrated circuit.
 54. The method according to claim51, carried out in one of a field programmable gate array, aprogrammable logic device and an application specific integratedcircuit.
 55. The method according to claim 51, carried out in a maincentral processor of a television set-top box.
 56. The method accordingto claim 51, carried out in a decoder circuit of a television set-topbox.
 57. The method according to claim 51, further comprisingdemultiplexing the output stream of packets of audio visual data basedupon the packet identifiers.
 58. A method of processing packets of audiovisual data, comprising: receiving an input stream of packets of audiovisual data, the input stream of packets of audio visual datacomprising: unencrypted packets of audio visual data having a firstpacket identifier, encrypted packets of audio visual data having thefirst packet identifier, encrypted packets of audio visual data having asecond packet identifier, wherein the encrypted packets of audio visualdata having the first and second packet identifiers represent identicaldata when unencrypted; reading the packet identifiers of the packets ofaudio visual data in the input stream of packets of audio visual data;discarding the encrypted packets of audio visual data having the firstpacket identifier; and re-mapping packets of audio visual data that havenot been discarded so that they have the same packet identifier toproduce output audio visual data.
 59. The method according to claim 58,further comprising multiplexing the packets of audio visual data thathave not been discarded with each other to produce an output stream ofpackets of audio visual data.
 60. The method according to claim 58,wherein the encrypted packets of audio visual data having the firstpacket identifier are encrypted according to a first encryptiontechnique; and wherein the encrypted packets of audio visual data havingthe second packet identifier are encrypted according to a secondencryption technique.
 61. The method according to claim 58, carried outin an integrated circuit.
 62. The method according to claim 58, carriedout in one of a field programmable gate array, a programmable logicdevice and an application specific integrated circuit.
 63. The methodaccording to claim 58, carried out in a main central processor of atelevision set-top box.
 64. The method according to claim 58, carriedout in a decoder circuit of a television set-top box.
 65. The methodaccording to claim 58, further comprising demultiplexing the outputstream of packets of audio visual data based upon the packetidentifiers.
 66. A circuit that processes a stream of digital video datapackets, comprising: an input that receives an input stream of digitalvideo packets of data, the input stream of digital video packets of datacomprising: unencrypted packets of data having a first packetidentifier, encrypted packets of data having the first packetidentifier, encrypted packets of data having a second packet identifier,wherein the encrypted packets of data having the first and second packetidentifiers represent identical data when unencrypted; a packetidentifier reader that reads the packet identifiers of the packets ofdata in the input stream of digital video packets of data, and thatdiscards the encrypted packets of data having the first packetidentifier; a packet identifier re-mapping circuit that re-maps at leastone of the second packet identifier and the first packet identifier sothat the packets of data that have not been discarded have the samepacket identifier to produce an output of digital video data packetshaving the same packet identifier.
 67. The circuit according to claim66, further comprising a multiplexer that multiplexes the re-mappedpackets of data with the unencrypted packets of data having the firstpacket identifier to produce an output stream of digital video packetsof data.
 68. The circuit according to claim 66, wherein the encryptedpackets of data having the first packet identifier are encryptedaccording to a first encryption technique; and wherein the encryptedpackets of data having the second packet identifier are encryptedaccording to a second encryption technique.
 69. The circuit according toclaim 66, further comprising an MPEG decoder receiving the output streamof digital video packets.
 70. The circuit according to claim 66, whereinthe circuit is embodied in an integrated circuit.
 71. The circuitaccording to claim 66, wherein the circuit is embodied in one of a fieldprogrammable gate array, a programmable logic device and an applicationspecific integrated circuit.